/**
 * 版权所有 (C), 2019-2019, XXX有限公司
 * 项目名：com.company.study.designpatterns.template
 * 文件名: AbstractPay
 * 日期: 2019/6/16 11:18
 * 说明:
 */
package com.company.study.designpatterns.template;

/**
 * 抽象类，定义支付流程
 *
 * @author Anbang713
 * @create 2019/6/16
 */
public abstract class AbstractPay {
    /**
     * 获取支付信息
     */
    abstract String getPayInfo();

    /**
     * 执行支付
     */
    abstract void executePay();

    /**
     * 支付反馈信息
     */
    abstract void payMessage();

    /**
     * 支付
     */
    public final void pay() {
        System.out.println("支付账户:" + getPayInfo());
        executePay();
        payMessage();
    }
}